package Finish;

import net.sf.json.JSONArray;
import net.sf.json.JSONException;
import net.sf.json.JSONObject;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * Created by Kenblock on 2017/8/15.
 */
public class SearchAddr {
    //获取验证消息索引接口需要的applicationId，通过时间戳比对出最近的申请
    public String findapplicationId(String result) {
        //创建json对象并传入参数
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is: " + jsonObject.toString());
        //通过hijson解析服务器返回值后，通过层级关系获取值并存入jsonArray数组
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("applications");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //使用Collections方法比较list中的值，从小到大排序
            Collections.sort(jsonList, new Comparator<JSONObject>() {
                //比较名称为timestamp的值
                private static final String KEY_NAME = "timestamp";

                @Override
                //开始比较
                public int compare(JSONObject a, JSONObject b) {
                    String valA_1 = new String();
                    String valB_1 = new String();

                    try {
                        valA_1 = a.getString(KEY_NAME);
                        valB_1 = b.getString(KEY_NAME);
                    } catch (JSONException e) {
                        //do something
                    }
                    return valB_1.compareTo(valA_1);
                }
            });
            return jsonList.get(0).getString("id");

        }
        return "jsonArray = null";
    }

    //查询分组id
    public String findcategoryId(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is: " + jsonObject.toString());
        //通过hijson解析服务器返回值后，通过层级关系获取值并存入jsonArray数组
        String jsonObject1 = jsonObject.getJSONObject("data").getJSONObject("category").getString("categoryId");

        return jsonObject1;
    }

    //查询分组中黑化肥的userid
    public String findheihuafeiuserid(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("users");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("displayName").equals("黑灰化肥发黑会挥发")){
                    return jsonList.get(j).getString("userId");
                }

            }


        }
        return "jsonArray = null";
    }

    //查询分组中fanshaohua_test的userid
    public String findfanshaohua_testuserid(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("users");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("displayName").equals("fanshaohua_test@126.com")){
                    return jsonList.get(j).getString("userId");
                }
            }


        }
        return "jsonArray = null";
    }

    //查询分组中fanshaohua_101的userid
    public String findfanshaohua_101userid(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("users");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("displayName").equals("fanshaohua_101@163.com")){
                    return jsonList.get(j).getString("userId");
                }
            }


        }
        return "jsonArray = null";
    }

    //查询分组中榴莲牛奶的userid
    public String findliulianuserid(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("users");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("cube").equals("200879")){
                    return jsonList.get(j).getString("userId");
                }
            }


        }
        return "jsonArray = null";
    }


    //查询token值
    public String findtoken(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is: " + jsonObject.toString());
        String string = jsonObject.getJSONObject("data").getString("token");
        System.out.println("searchaddr token = "+string);
        return string;
    }

    //获取登录人的1500userId
    public String find1500userid(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is: " + jsonObject.toString());
        String string = jsonObject.getJSONObject("data").getJSONObject("user").getString("userId");
        return string;
    }

    //获取登录人的时间戳updateTimestamp
    public String findupdateTimestamp(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is: " + jsonObject.toString());
        String string = jsonObject.getJSONObject("data").getJSONObject("user").getString("updateTimestamp");
        return string;
    }

    //获取创建群组时的groupId
    public String findgroupid(String result){
        JSONObject jsonObject = JSONObject.fromObject(result);
        String string = jsonObject.getJSONObject("data").getJSONObject("group").getString("groupId");
        return string;
    }

    //获取创建群组时的groupName
    public String findgroupname(String result){
        JSONObject jsonObject = JSONObject.fromObject(result);
        String string = jsonObject.getJSONObject("data").getJSONObject("group").getString("groupName");
        return string;
    }

    //获取创建群组时的cubeId
    public String findgroupcube(String result){
        JSONObject jsonObject = JSONObject.fromObject(result);
        String string = jsonObject.getJSONObject("data").getJSONObject("group").getString("cube");
        return string;
    }

    //获取重新绑定邮箱需要的bindingIndex
    public String findbindingIndex(String result){
        JSONObject jsonObject = JSONObject.fromObject(result);
        String string = jsonObject.getJSONObject("data").getString("bindingIndex");
        return string;
    }

    //获取拉取聚合页新闻的nextId
    public String findnextId(String result){
        JSONObject jsonObject = JSONObject.fromObject(result);
        String string = jsonObject.getJSONObject("data").getString("nextId");
        return string;
    }

    //获取聚合页内新闻的newId
    public String findnewId(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("list");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }

            return jsonList.get(0).getString("newId");


        }
        return "jsonArray = null";
    }

    //删除手机通讯录联系人接口，通过通讯录联系人列表获得联系人15901199809的contactId
    public String findcontactId1(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("contacts");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("phone").equals("15901199809")){
                    return jsonList.get(j).getString("contactId");
                }
            }


        }
        return "jsonArray = null";
    }


    //获取contactId2
    public String findcontactId2(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("contacts");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("name").equals("xianglei")){
                    return jsonList.get(j).getString("contactId");
                }
            }



        }
        return "jsonArray = null";
    }

    //获取contactId3
    public String findcontactId3(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("contacts");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }

            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("name").equals("cuiwenhao")){
                    return jsonList.get(j).getString("contactId");
                }
            }


        }
        return "jsonArray = null";
    }

    //获取contactId4
    public String findcontactId4(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("contacts");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }

            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("name").equals("gongyufei")){
                    return jsonList.get(j).getString("contactId");
                }
            }


        }
        return "jsonArray = null";
    }

    //标记日程所需要的日程scheId
    public String findscheId(String result){
        JSONObject jsonObject = JSONObject.fromObject(result);
        String string = jsonObject.getJSONObject("data").getJSONObject("schedule").getString("scheId");
        return string;
    }

    //邮件注册再次发送激活连接
    public String findactivationIndex(String result){
        JSONObject jsonObject = JSONObject.fromObject(result);
        String string = jsonObject.getJSONObject("data").getString("activationIndex");
        return string;
    }

    //通过登录获取个人1500cube
    public String find1500cube(String result){
        JSONObject jsonObject = JSONObject.fromObject(result);
        String string = jsonObject.getJSONObject("data").getJSONObject("user").getString("cube");
        return string;
    }

    //获取邮箱fanshaohua_test@126.com的cubeId
    public String findfanshaohua_testcube(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("users");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("displayName").equals("fanshaohua_test@126.com")){
                    return jsonList.get(j).getString("cube");
                }

            }


        }
        return "jsonArray = null";
    }

    //通过当前分组所有好友获取fanshaohua_101的cubeId
    public String findfanshaohua_101cube(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("users");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("displayName").equals("fanshaohua_101@163.com")){
                    return jsonList.get(j).getString("cube");
                }

            }


        }
        return "jsonArray = null";
    }

    //通过当前分组所有好友获取liulian的cubeId
    public String findliuliancube(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("users");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("userId").equals("203258")){
                    return jsonList.get(j).getString("cube");
                }

            }


        }
        return "jsonArray = null";
    }

    //获取邮箱fanshaohua_test@126.com的mailboxId
    public String findfanshaohua_testmailboxid(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("mailboxes");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("mailboxName").equals("fanshaohua_test@126.com")){
                    return jsonList.get(j).getString("mailboxId");
                }

            }


        }
        return "jsonArray = null";
    }

    //获取邮箱fanshaohua@shixinyun.com的mailboxId
    public String findfanshaohuashixinyunmailboxid(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("mailboxes");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("mailboxName").equals("fanshaohua@shixinyun.com")){
                    return jsonList.get(j).getString("mailboxId");
                }
            }


        }
        return "jsonArray = null";
    }

    //获取邮箱664170687@qq.com的mailboxId
    public String find664170687mailboxid(String result) {
        JSONObject jsonObject = JSONObject.fromObject(result);
        //System.out.println("jsonObject is:" + jsonObject.toString());
        JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("mailboxes");

        if (jsonArray != null) {
            //将JSONObject传入list并转化为arraylist
            List<JSONObject> jsonList = new ArrayList<>();
            //通过for循环将JSONObject传入list
            for (int i = 0; i < jsonArray.size(); i++) {
                jsonList.add(jsonArray.getJSONObject(i));
            }
            //循环list查找昵称为黑灰化肥发黑会挥发的好友，得到其userId，若没有则直接返回他的id
            for(int j = 0 ; j < jsonList.size() ; j++){
                if(jsonList.get(j).getString("mailboxName").equals("664170687@qq.com")){
                    return jsonList.get(j).getString("mailboxId");
                }
            }


        }
        return "jsonArray = null";
    }

    //获取服务器返回code
    public String findcode(String result){
        JSONObject jsonObject = JSONObject.fromObject(result);
        String string = jsonObject.getString("code");
        return string;
    }

}
